package com.todaynews.frame.common;

import android.os.Environment;
import com.todaynews.utils.ApkUtils;
import com.todaynews.utils.file.FileUtils;
import java.io.File;

/**
 * @Description: 全局常量配置
 */
public class CommonConfig {

    //=============================缓存数据=================================
    public static final int MAX_AGE_ONLINE = 60;//默认最大在线缓存时间（秒）
    public static final int MAX_AGE_OFFLINE = 24 * 60 * 60;//默认最大离线缓存时间（秒）
    public static final String API_HOST = "https://api.github.com/";//默认API主机地址
    public static final String COOKIE_PREFS = "Cookies_Prefs";//默认Cookie缓存目录
    /**
     * 永久不过期
     */
    public static final long CACHE_NEVER_EXPIRE = -1;

    /**
     * 默认磁盘缓存目录
     */
    public static final String CACHE_DISK_DIR = "disk_cache";
    /**
     *  默认OKHTTP缓存文件名
     */
    public static String OKHTTP_CACHE_NAME = "responses";
    /**
     *  默认OKHTTP缓存大小
     */
    public static int OKHTTP_CACHE_SIZE = 10 * 1024 * 1024;//10MB
    /**
     *  默认SharedPreferences缓存文件名
     */
    public static final String CACHE_SP_NAME = "sp_cache";
    //=============================文件操作相关==============================

    public static final String DEFAULT_DOWNLOAD_DIR = "download";//默认下载目录
    public static final String DEFAULT_DOWNLOAD_FILE_NAME = "download_file.tmp";//默认下载文件名称
    /**
     * 整个应用程序文件夹创建的根目录位置(直接暴露在手机目录下,用户很容易可见)
     * /storage/emulated/0/包名
     */
    public static String ROOT_FILE_PATH = Environment.getExternalStorageDirectory().getPath()
            + File.separator + ApkUtils.getInstance().getApkName();
    /**
     * 整个应用程序文件夹创建的缓存根目录位置(直接暴露在手机目录下,用户不易可见)
     * /storage/emulated/0/Android/data/包名/cache/包名
     */
    public static String CACHE_ROOT_FILE_PATH = ApkUtils.getInstance().getDiskCacheDirPath()
            + File.separator + ApkUtils.getInstance().getApkPackageName();
    //头像图片的根目录
    public static String DEFAULT_PHOTO_IMAGE_DIR = FileUtils.getInstance().getRootDirectory()
            + File.separator + "photo_image";

    //=============================okhttp操作相关==============================

    public static final int CONNECTIONTIME = 20;//连接时间
    public static final int WRITETIME = 20;//读取时间
    public static final int READTIME = 20;//写入超时
    public static final int DEFAULT_TIMEOUT = 60;//默认超时时间（秒）
    public static final int DEFAULT_MAX_IDLE_CONNECTIONS = 5;//默认空闲连接数
    public static final long DEFAULT_KEEP_ALIVE_DURATION = 8;//默认心跳间隔时长（秒）
    public static final int DEFAULT_RETRY_COUNT = 0;//默认重试次数
    public static final int DEFAULT_RETRY_DELAY_MILLIS = 1000;//默认重试间隔时间（毫秒）

    //=============================项目配置=================================
}
